package org.db.util;

import java.awt.AWTEvent;
import java.awt.EventQueue;

import javax.swing.JOptionPane;

/**
 * Hilfsklasse um Fehler zu verarbeiten und in der GUI darzustellen, die nicht woanders im Programm gefangen und behandelt werden.
 * @author Lutz Schneider
 *
 */
public class RuntimeExceptionHandler extends EventQueue{
	
	@Override
	protected void dispatchEvent(AWTEvent event) {
		try {
			super.dispatchEvent(event);
		} catch (Throwable t) {
			t.printStackTrace();
			
			String message = t.getMessage();
			if(message == null || message.length() == 0){
				message = "Schwerwiegender Fehler: " + t.getClass();
			}
			
			JOptionPane.showMessageDialog(null, "Fehlerhafte Eingabe", message, JOptionPane.ERROR_MESSAGE);
		}
	}
}
